package com.cloudbroker.bcs.platform.ltb.bizapi.t2service.coupon;

import com.cloudbroker.bcs.common.entity.HSBCPSBackVO;import com.cloudbroker.bcs.platform.ltb.bizapi.service.coupon.vo.*;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.coupon.back.*;
import java.util.List;
import com.cloudbroker.bcs.platform.ltb.bizapi.constants.IFSFunctionIds;
import com.hundsun.jresplus.remoting.impl.annotation.Service;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceModule;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceParam;

/*
 * 模块名称：优惠券接口
 * by xuss13891
 */
@ServiceModule
public interface CouponT2BizService {

	/**
	 * 库存优惠券新增
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_STOCK_ADD, desc="库存优惠券新增")
	public CouponStockAddBack funcCouponStockAdd(@ServiceParam("param") CouponStockAddVO couponStockAddVO);

	/**
	 * 库存优惠券停用
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_STOCK_STOP, desc="库存优惠券停用")
	public HSBCPSBackVO funcCouponStockStop(@ServiceParam("param") CouponStockStopVO couponStockStopVO);

	/**
	 * 库存优惠券修改
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_STOCK_MOD, desc="库存优惠券修改")
	public HSBCPSBackVO funcCouponStockMod(@ServiceParam("param") CouponStockModVO couponStockModVO);

	/**
	 * 库存优惠券删除
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_STOCK_DEL, desc="库存优惠券删除")
	public HSBCPSBackVO funcCouponStockDel(@ServiceParam("param") CouponStockDelVO couponStockDelVO);

	/**
	 * 库存优惠券查询
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_STOCK_QRY, desc="库存优惠券查询")
	public CouponStockQryBack funcCouponStockQry(@ServiceParam("param") CouponStockQryVO couponStockQryVO);

	/**
	 * 活动与优惠券绑定
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_ACTIVITY_BIND, desc="活动与优惠券绑定")
	public HSBCPSBackVO funcCouponActivityBind(@ServiceParam("param") CouponActivityBindVO couponActivityBindVO);

	/**
	 * 活动与优惠券解绑
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_ACTIVITY_UNBIND, desc="活动与优惠券解绑")
	public HSBCPSBackVO funcCouponActivityUnbind(@ServiceParam("param") CouponActivityUnbindVO couponActivityUnbindVO);

	/**
	 * 商品与优惠券绑定
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_GOODS_BIND, desc="商品与优惠券绑定")
	public HSBCPSBackVO funcCouponGoodsBind(@ServiceParam("param") CouponGoodsBindVO couponGoodsBindVO);

	/**
	 * 商品与优惠券解绑
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_GOODS_UNBIND, desc="商品与优惠券解绑")
	public HSBCPSBackVO funcCouponGoodsUnbind(@ServiceParam("param") CouponGoodsUnbindVO couponGoodsUnbindVO);

	/**
	 * 优惠券活动发放
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_ACTIVITY_GIVE, desc="优惠券活动发放")
	public CouponActivityGiveBack funcCouponActivityGive(@ServiceParam("param") CouponActivityGiveVO couponActivityGiveVO);

	/**
	 * 优惠券活动发放
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_ACTIVITY_GIVE_MANAGE, desc="优惠券活动发放")
	public CouponActivityGiveBack funcCouponActivityGiveManage(@ServiceParam("param") CouponActivityGiveVO couponActivityGiveVO);

	/**
	 * 优惠券运营发放/积分兑换
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_GIVE, desc="优惠券运营发放/积分兑换")
	public CouponGiveBack funcCouponGive(@ServiceParam("param") CouponGiveVO couponGiveVO);

	/**
	 * 优惠券运营发放/积分兑换
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_GIVE_MANAGE, desc="优惠券运营发放/积分兑换")
	public CouponGiveBack funcCouponGiveManage(@ServiceParam("param") CouponGiveVO couponGiveVO);

	/**
	 * 用户优惠券查询
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_USER_QRY, desc="用户优惠券查询")
	public CouponUserQryBack funcCouponUserQry(@ServiceParam("param") CouponUserQryVO couponUserQryVO);

	/**
	 * 用户优惠券查询
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_USER_QRY_MANAGE, desc="用户优惠券查询")
	public CouponUserQryBack funcCouponUserQryManage(@ServiceParam("param") CouponUserQryVO couponUserQryVO);

	/**
	 * 优惠券使用预览
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_USE_PREVIEW, desc="优惠券使用预览")
	public CouponUsePreviewBack funcCouponUsePreview(@ServiceParam("param") CouponUsePreviewVO couponUsePreviewVO);

	/**
	 * 优惠券使用确认
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_USE_CONFIRM, desc="优惠券使用确认")
	public HSBCPSBackVO funcCouponUseConfirm(@ServiceParam("param") CouponUseConfirmVO couponUseConfirmVO);

	/**
	 * 优惠券使用取消
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_USE_CANCEL, desc="优惠券使用取消")
	public HSBCPSBackVO funcCouponUseCancel(@ServiceParam("param") CouponUseCancelVO couponUseCancelVO);

	/**
	 * 优惠券流水查询
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_JOURNAL_QRY, desc="优惠券流水查询")
	public CouponJournalQryBack funcCouponJournalQry(@ServiceParam("param") CouponJournalQryVO couponJournalQryVO);

	/**
	 * 优惠券流水查询
	 * */
	@Service(functionId = IFSFunctionIds.IFSLTBCouponFunIds.FUNC_COUPON_JOURNAL_QRY_MANAGE, desc="优惠券流水查询")
	public CouponJournalQryBack funcCouponJournalQryManage(@ServiceParam("param") CouponJournalQryVO couponJournalQryVO);

}
